package net.zjitc.list.dao;

import net.zjitc.list.domain.User;
import net.zjitc.list.utils.JDBCUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;

/**
 * @Author Administrator
 * @Date 2020/6/12 10:18
 * 具体实现类
 * 利用JDBC操作数据库：Druid+JdbcTemplate
 * 1、获取数据库连接
 *    通过Druid
 * 2、执行sql语句
 *   若是查询，执行结果要封装到容器中（对象或集合）
 *   JdbcTemplate
 **/
public class UserDaoImpl implements UserDao {
    JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource());
    String sql="";

    @Override
    public List<User> findAll() {
        sql="select * from user2";
        /* 查询，结果是单条记录，queryForObject（）
        *  查询结果是多条记录，query()
        *  参数1：sql
        *  参数2：Bean... 自动把表中的记录封装到容器中（对象或集合） 
        *  参数3：给？赋值
        * 注意：查询结果若是空，会报错，所以加上try..catch*/
        try{
            List<User> list = template.query(sql, new BeanPropertyRowMapper<User>(User.class));
            return list;
        }catch (Exception e){
            System.out.println(e.getMessage());
            return null;
        }

    }
}
